브레이크 포인트공통 이슈

 

섹션은 브레이크 포인트를 위해 공통적인 여러 가지 이슈를 기술합니다.

브레이크 포인트가 토글될 , 브레이크 포인트 기호는 왼쪽 홈통 영역에 나타납니다.  디버깅 세션 동안 브레이크 포인트는 개의 상태를 가질 있습니다:

Status  

Line breakpoint  

Exception breakpoint  

Method breakpoint  

Comments  

set  

선택된 브레이크 포인트를 포함하고 있는 클래스가 아직 로드되지 않을 세트 상태는 설계 시간에 또는 디버깅 세션 동안 나타납니다.

valid  

N/A  

브레이크 포인트가 실행 가능한 코드 라인 위에서 설정으로서 디버거에 의해 인식될 유효한 상태는 실행 시간 동안 표시됩니다.

invalid  

N/A  

브레이크 포인트가 히트되지 않는 것을 표시하는

주석 또는 실행 라인상에서 브레이크 포인트가 설정될

유효 상태가 표시됩니다.

disabled  

무능 상태는 주어진 브레이크 포인트가 불가능하게 되는아래 봅니다) 것을 표시합니다.

 


만일 디버깅 전에 코드가 컴파일되지 않았다면, 소스와 클래스 파일은 차이가 있을지도 모르고 그들은 동조되지 않습니다.



왼쪽 홈통 영역의 브레이크 포인트 기호는 당신에게 일부 부가 옵션을 제공합니다:

 브레이크 포인트에 관해 간단한 약간의 정보를 포함하고 있는 팝업 윈도우는 마우스 포인터가 브레이크 포인트 기호 위에 있는 나타납니다.



 
브레이크 포인트 기호를 오른쪽 버튼을 클릭하는 것은 특별한 브레이크 포인트를 관리하기 위한 일부 부가 옵션을 제공하고 있는 문맥 메뉴를 부릅니다:

Disable/Enable  

항목은 디버깅 세션 동안 히트될 원하는 브레이크 포인트를 각각 숨기고/숨기지 않는 것을 허락합니다. 불가능한 브레이크 포인트에 대한 모든 설정은 남아있지만 브레이크 포인트가 도달될 어떤 동작도 초기화되지 않을 것입니다.

Remove  

브레이크 포인트를 제거합니다.

Properties  

브레이크 포인트를 선택할 Breakpoints 다이얼로그를 부릅니다.



당신은 다음 다이얼로그에서 브레이크 포인트 속성을 있고 컴파일 있습니다:

List of breakpoints  

모든 브레이크 포인트를 표시합니다.  당신은 /다운 또는 마우스를 사용하여 목록을 브라우즈 있습니다.   특별한 브레이크 포인트는 이름의 옆에 있는 체크 박스를 선택/선택해제 하여 임시적으로 가능/불가능 있습니다.

Go to  

선택된 브레이크 포인트를 네비게이트하고, 상응하는 라인에 캐럿을 배치하고, 다이얼로그를 닫습니다.  예외 브레이크 포인트를 위해 사용되지 않습니다.


동작은 F4키를 눌러서 불려질 있습니다.


 

View source  

다이얼로그가 열린 채로 있는 것을 제외하고는 버튼을 누르는 것은 Go to 버튼과 같습니다.

(적합한 라인에서 캐럿을 배치하면서 선택된 브레이크 포인트를 포함하고 있는 코드 페이지로 네비게이트 합니다).  예외 브레이크 포인트를 위해 사용되지 않습니다.

Remove  

선택된 브레이크 포인트를 제거합니다.  만일 모든 브레이크 포인트가 목록으로부터 제거되면, 낮은 패널은 이용 가능한 어떤 선택 그룹도 가지지 않을 것이고 Close 제외한 모든 버튼은 불가능하게 하게 것입니다.

Close  

Breakpoints 다이얼로그를 닫습니다.



브레이크 포인트 탭은 개의 선택 그룹을 포함합니다.  2개의 공통 사항이 아래에 기술됩니다Actions   Conditions . 

동작 그룹


브레이크 포인트가 히트될 디버거는 개의 종류의 동작을 수행할 있습니다:

Suspend VM execution  

브레이크 포인트가 도달될 프로그램의 실행을 중지하기 위해 체크 박스를 선택하십시오.

Log messages  to console  

브레이크 포인트가 히트될 당신이 콘솔 출력에서 표시되는 로그 메시지를 원하는 경우에 체크 박스를 선택하십시오.

Log evaluated  expression 

만일 당신이 브레이크 포인트에서의 어떤 표현식을 평가하고, 콘솔 출력에 결과를 익스포트 하고 싶어하면 체크 박스를 선택하십시오.


특별한 브레이크 포인트가 도달될 때 만일 평가된 표현식이 부정확하면, 콘솔 출력은 에러 메시지를 표시할 것입니다: unable to evaluate the expression <your_expression>

 

상태 그룹


당신은 특별한 브레이크 포인트를 위한 다른 조건을 맞출 있습니다.

Condition  

텍스트 박스에서 당신은 브레이크 포인트를 히트하기 위한 조건을 지정할 있습니다.
조건은 브레이크 포인트가 도달될 때마다 브레이크 포인트 설정이 평가되는 곳의 라인에서 유효한 어떤 유효한 자바-언어 Boolean 표현식 (인스턴스 str1.equals(str2) 대한 true/false 값을 리턴하는 메소드를 포함한) 입니다.  Condition 에서 당신은 보이는 클래스 멤버를 부를 있습니다.


필드/메소드/예외 브레이크 포인트를 위한 Conditions 주어진 필드/메소드/예외에 대한 문맥에서 계산됩니다.


만일 평가 결과가 true 라면 사용자-선택 동작이 수행됩니다. 만일 평가 결과가 false 이면 브레이크 포인트는 조금의 효과도 생산하지 않습니다.
그러나, 브레이크 포인트가 설정된 점으로부터 모든 상태 항목은 정확할 것임에 틀림없습니다.  그렇지 않으면, 만일 디버거가 표현식을 평가할 없으면 Condition evaluation error 다이얼로그가 나타납니다:



당신은 브레이크 포인트에 스톱하고 싶어하거나 그것을 무시할 것인지 결정할 있습니다.


만일 Conditions 그룹이 선택되면 Pass Count  불가능하게 됩니다.


 

Pass count  

Pass count 조건은 브레이크 포인트가 도달되었으나 무시된 횟수를 정의하기 위해 사용됩니다.  패스의 표시된 브레이크 포인트가 히트된 패스의 횟수를 표시한 후에. 예를 들면 당신이 여러 차례 불려진 루프 또는 메소드를 디버그하고 싶어할 기능는 편리합니다.

실행 프로세스는 Pass count 설정된 브레이크 포인트에 도달할 , 디버거는 1 Pass count 값을 감소시키고, 그것을 제로와 비교합니다.  만일 비교 결과가 true 라면 브레이크 포인트는 히트됩니다.  만일 그것이 false라면 브레이크 포인트가 도착되는 다음 시간까지 다른 어떠한 동작도 수행되지 않습니다.


당신은 Pass count 조건을 사용하여 다음의 제한을 알고 있어야만 합니다:

 오로지 정수만이 Pass count 필드에서 사용될 있습니다.  모든 나머지는 단순히 무시됩니다.
 
Pass count 조건은 한번만 만족될 있습니다.  바꾸어 말하면, 만일 당신이 메소드의 내부에서 루프를 갖고 Pass count 조건이 존중되면, 상술한 메소드가 불려지는 다음에 브레이크 포인트는 히트되지 않을 것입니다.
 
만일 Pass count 그룹이 선택되면 모든 다른 옵션 그룹은 불가능하게 됩니다.


 

Instance filters  

인스턴스 필터는 인스턴스 ID 사용하고 있는 특별한 객체 인스턴스와 함께 오로지 브레이크 포인트 히트를 제한하기 위해 사용됩니다.
인스턴스 ID 값은 수동으로 또는 ellipsis  버튼을 눌러 불려지는 인스턴스 필터 다이얼로그를 사용하여 생성될 있습니다.

기존 인스턴스 필터는 스페이스와 함께 범위를 정하게 되는 인스턴스 ID 의해 표시됩니다.

Class filters  

클래스 필터는 특별한 클래스에 관해 브레이크 포인트 동작을 정의하기 위해 사용됩니다.  당신은 브레이크 포인트가 히트되기 원하는는 클래스를 결정할 있거나, 또는 당신은 브레이크 포인트가 유발되어서는 되는 클래스를 명백히 표시할 있습니다.  클래스 필터는 수동으로 또는 ellipsis  버튼을 눌러 불려지는 클래스 필터 다이얼로그를 사용하여 생성될 있습니다.
기존 클래스 필터는 클래스 이름(클래스 제외 필터에 대해 대시와 함께 앞장서는) 의해 표시됩니다.  스페이스는 구분자로서 사용됩니다.

 

Instance Filters dialog  


Conditions 그룹은 당신에게 인스턴스 필터를 생성하는 것을 허락합니다.  ID 사용하는 것은 당신에게 특별한 객체 인스턴스와 함께 오로지 브레이크 포인트 히트를 제한하는 것을 허락하는 것에 매우 유용할 있습니다.

당신이 감시하고 싶어하는 객체 인스턴스의 ID 지정하고 있는 인스턴스 필터는 수동으로 또는 ellipsis  버튼을 눌러 불려지는 Instance Filters  다이얼로그를 사용하여 생성될 있습니다.  기존 인스턴스 필터는 스페이스와 함께 범위를 정하게 되는 ID 값에 의해 표시됩니다.



ID
그것 내에서 생성된 어떤 객체의 인스턴스에 VM 의해 할당된 수치입니다.


ID 값은 하나의 디버깅 세션 내에서 상수입니다. 그러나 디버거 인보케이션에 걸쳐 변할지도 모릅니다.  인스턴스 ID

"@" 기호 뒤에 인스턴스를 기술하는 문자열의 끝에서 디버거 Frame tab에서 보여집니다.







발견된 값은 필터를 위해 값으로서 사용되는 인스턴스 ID입니다.

Instance Filters 다이얼로그는 오히려 단순합니다.

Instance Filters List  

특별한 브레이크 포인트를 위해 존재하는 인스턴스 필터를 보여줍니다. 필터 ID다음에 있는 체크 박스는 당신에게 선택된 필터를 가능/불가능하도록 허락합니다.

Add...  

새로운 클래스 필터를 셋업하도록 New Filter 다이얼로그를 부릅니다.



인스턴스 ID 추가하기 위해, 텍스트 필드에서 그것을 타이프하십시오.

Remove  

선택된 인스턴스 필터를 제거합니다.

OK  

결과를 저장하고, Instance Filters 다이얼로그를 닫습니다.

Cancel  

취소는 Instance Filters 다이얼로그를 변경하고, 닫습니다.

 

클래스 필터 다이얼로그


Class Filters 다이얼로그를 사용하면 당신은 클래스 필터를 지정할 있습니다.
클래스 필터는 특별한 클래스에 관해서 브레이크 포인트 동작을 정의하기 위해 사용됩니다.  당신은 브레이크 포인트가 히트되기 원하는 클래스를 결정할 있거나,  또는 당신은 브레이크 포인트가 히트되지 말아야 하는 클래스를 명백히 표시할 있습니다.
필터된 클래스는 수동으로 또는 ellipsis 버튼을 눌러 불려지는 Class Filters  다이얼로그를 사용하여 생성될 있습니다.
기존 클래스 필터는 클래스 이름(클래스 제외 필터에 대해 대시와 함께 앞장서는) 의해 표시됩니다.  스페이스는 구분자로서 사용됩니다.


Class Filters 다이얼로그는 개의 선택 그룹을 포함합니다 번째로, Class filters  당신에게 브레이크 포인트가 존중되는 클래스를 정의하도록 허락해줍니다다른 , Class exclusion filters 브레이크 포인트가 도달한 무시되도록 하는 클래스를 지정하는 사용됩니다.

양쪽 그룹은 필터를 관리할 때에 같은 패턴을 따릅니다.

Class Filters/Class Exclusion Filters List  

특별한 브레이크 포인트를 위해 생성되는 클래스 필터/ 클래스 제외 필터를 보여줍니다. 필터 이름 다음 옆의 체크 박스는 당신에게 선택된 필터를 가능/불가능하게 허락해줍니다.

Add...  

새로운 클래스 필터 또는 클래스 제외 필터를 셋업하기 위해 New Filter 다이얼로그를 부릅니다.


클래스 필터/ 클래스 제외 필터 패턴(브레이크 포인트가 도달된 그것은 실제로 존중되거나 또는 무시되어야만 하는 클래스 이름을 위한 제한된 정규 표현입니다) 추가하기 위해서, 수동으로 또는 ellipsis 버튼을 눌러 불려지는 Choose class   다이얼로그를 사용하여 생성될 있습니다.


제한된 정규 표현은 예를 들면, *.yourclass 또는 java.* 대한  ‘*’ 시작하거나 ‘*’ 끝나는 정확한 매치 또는 패턴인 정규 표현입니다.


 

Remove  

선택된 클래스 필터를 제거합니다.

OK  

결과를 저장하고, Class Filters 다이얼로그를 닫습니다.

Cancel  

취소는 Class Filters 다이얼로그를 변경하고, 닫습니다.